1. Field of the Invention
The invention relates to data encoding in data storage recording channels. In some advantageous embodiments, the invention relates to data encoding suitable for subsequent partial response decoding in a magnetic storage environment.
2. Description of the Related Art
Variable-rate bit insertion techniques are well known as a method for assuring clock synchronization of the data stream. Typically, this method has application in the communication field, although variable rate bit insertion has been used in other applications, as is well known in the art. According to this technique, data bits are inserted into selected portions of a data stream where there is an increased likelihood that an error will be made in detecting the data bits accurately at this portion of the data stream. For example, variable-rate bit insertion may be used in a communications system where the receiving decoder is self-clocked. It is important that long strings of ones or zeros be broken up so that the phase locked loop at the detector side does not lose phase lock on the clock rate at which the data is being transmitted. This is particularly important in applications involving reading, for example, from magnetic tape since tape storage media typically have a very uncertain speed profile so that frequent clocking information is preferable to maintain phase lock. Thus, in such applications where it is desirable to maintain phase lock at the reading or receiving side, data bits are intentionally inserted into xe2x80x9ctrouble regionsxe2x80x9d within the output data stream so that at the detector side, sufficient information is present in the received data signal to maintain accurate phase lock on this data signal so that the data stream can be properly decoded.
Although the method of variable-rate bit insertion is desirable as an inexpensive and fairly simple method of increasing the robustness of data against errors, such a method has typically been found to be impractical in other applications. Most notably, variable-rate bit insertion has had limited applicability in the magnetic recording environment. Magnetic recording typically involves storage onto a tape or a disk, where data is stored to the magnetic tape or disk first and then read back. To provide for robust storage of data, variable rate bit insertion might be used to encode the data before writing to the magnetic media, and when the data is read back, the inserted bits would be detected and discarded. However, since the actual number of bits which are to be inserted is highly unpredictable, it is possible that the number of bits inserted would extend the length of the data stream by as much as 10 to 12 percent. Such an extension of the data stream is unacceptable for purposes of data storage, especially when it is desirable to maximize data storage efficiency. For example, if a particular data stream has characteristics such that a bit insertion is called for every 10 bits, then the amount of data to be stored onto the magnetic media will increase by 10 percent. This effectively makes a 500-megabyte storage media into a 450-megabyte storage media.
In an effort to transform the data stream into a form that is amenable to variable-rate bit insertion, the incoming data stream is first randomized using, for example, a pseudo-random noise code which is exclusive ORed with the incoming data stream to give the resulting output a random or pseudo-random character. This random character ensures that the probability of a data stream being extended by more than 1 percent, for example, is statistically negligible. This is because bit insertion is typically performed to break-up regular patterns so that a substantially random pattern will require very few bit insertions. Thus, by randomizing the data before applying the variable-rate bit insertion techniques, such techniques can be more readily applied in applications involving data storage on magnetic or other data storage media.
It has been found, however, that in certain instances, when the incoming data pattern has a characteristic that correlates with the pseudo-random code in such a way as to produce undesirable encoded characteristics (e.g., long strings of ones or zeros, or other redundant patterns), the randomization of the data stream using that particular pseudo-random code does not act to prevent the length of the inserted data bits from being prohibitively long. A data stream having this characteristic is typically referred to as a degenerate pattern. Thus, when the incoming data stream is degenerate, variable-rate bit insertion techniques are not practical for use with magnetic storage or other data storage media. Furthermore, simply the possibility of such a degenerate data pattern has generally been considered as an impediment to the use of variable-rate bit insertion in the data storage environment.
In addition to the aforementioned shortcomings of variable-rate bit insertion in the data storage applications, it has been found that conventional techniques of variable-rate bit insertion do not always ensure that errors on the receive side associated with loss of phase information and automatic gain control are alleviated. For instance, if a detected data stream has characteristics such that a maximum swing in amplitude is not observed for a long period of time, this can cause the automatic gain control at the detection side to lose tracking, thereby introducing amplitude errors into the detected signal. Furthermore, loss of phase lock may result from data patterns other than consecutive strings of zeros and ones. Accordingly, simply inserting a bit in long strings of zeros and ones does not ensure that phase lock will be maintained in a self-clocking system at the decoding side. Thus, a need exists for an improved data encoding method which resolves the difficulties associated with variable-rate bit insertion in data storage applications and also accounts for receive-side errors associated with miscalibration of the automatic gain control or phase lock loop.
The invention includes methods for writing data to a data storage medium. In one embodiment, the method comprises receiving an input data stream and detecting one or more bit sequences associated with a small amplitude read signal during readback from the data storage medium. The method may be continued by inserting one or more bits into the input data stream in response to the detection, whereby the inserted bits extend the length of the input data stream by a variable amount which depends on the input data stream content. The method may be concluded by writing the data stream including the inserted bits to the data storage medium.
Alternatively, the method may include detection of one or more bit sequences associated with a slowly varying readback read signal, with a maximum amplitude readback read signal, or with a data block preamble sequence. Two or more of these detecting acts may be performed at the same time.
Apparatus for variable rate encoding are also provided. In one embodiment, a data encoder comprises an input port for serially receiving a sequence of bits, a code follower having a plurality of previously received bits as inputs, and at least one register storing a value. The value is updated in response to the plurality of previously received bits. A bit inserter is also provided, the bit inserter inserting one or more bits into the received sequence of bits in response to the value.